/*
 * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。[欢迎加盟知启蒙，一起邂逅框架梦]
 * 
 * https://www.zhiqim.com/gitcan/zhiqim/zhiqim_account.htm
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.zhiqim.account.action.zhima;

import org.zhiqim.account.api.pay.AlipayServer;
import org.zhiqim.account.dbo.user.UserCertification;
import org.zhiqim.httpd.HttpRequest;
import org.zhiqim.httpd.context.core.Action;
import org.zhiqim.kernel.Global;
import org.zhiqim.kernel.util.DateTimes;
import org.zhiqim.orm.ZTable;

import com.alipay.api.response.ZhimaCustomerCertificationCertifyResponse;

public class ZhimaScanAction implements Action
{
    @Override
    public void execute(HttpRequest request) throws Exception
    {
        String tid = request.getParameter("tid");
        UserCertification item = Global.get(ZTable.class).item(UserCertification.class, tid);
        if (item == null || DateTimes.compareSecond(DateTimes.getDateTimeString(), item.getCertificationEndTime()) > 0)
        {
            request.setRedirect("/account/authenticate.htm");
            request.setReturn(true);
            return;
        }

        ZhimaCustomerCertificationCertifyResponse certifyResp = Global.getService(AlipayServer.class).certificationCertify(item.getBizNo());
        if (certifyResp.isSuccess())
        {
            String url = certifyResp.getBody();
            request.setRedirect(url);
            request.setReturn(true);
        }
    }

}
